package com.itheima.reggie.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.itheima.reggie.Dto.DishDto;
import com.itheima.reggie.Dto.SetmealDto;
import com.itheima.reggie.common.Result;
import com.itheima.reggie.entity.Dish;
import com.itheima.reggie.entity.Setmeal;
import com.itheima.reggie.entity.SetmealDish;

import java.util.List;

/**
 * @author Yan
 * @date 2022/2/26
 */
public interface SetmealService extends IService<Setmeal> {

    /**
     * 添加套餐
     * @param setmealDto
     * @return
     */
    Result<String> addSetmeal(SetmealDto setmealDto);

    /**
     * 套餐分页查询
     * @param page
     * @param pageSize
     * @param name
     * @return
     */
    Result<Page<SetmealDto>> findSetmealByPage(Long page,Long pageSize,String name);


    /**
     * 删除
     * @param ids
     * @return
     */
    Result<String> deleteSetmeal(List<Long> ids);

    /**
     * 起售和停售
     * @param status
     * @param ids
     * @return
     */
    Result<String> status(Integer status,List<Long> ids);

    /**
     * 修改套餐数据回显
     * @param id
     * @return
     */
    Result<SetmealDto> findSetmealById(Long id);

    /**
     * 修改套餐
     * @param setmealDto
     * @return
     */
    Result<String> updateSetmeal(SetmealDto setmealDto);

    /**
     * 查询套餐
     * @param categoryId
     * @param status
     * @return
     */
    Result<List<Setmeal>> setmealList(Long categoryId,Integer status);

    /**
     * 根据套餐id，查询套餐中的菜品
     * @param setmealId
     * @return
     */
    Result<List<DishDto>> getSetmealDishList(Long setmealId);
}
